#include <bits/stdc++.h>
using namespace std;
const int N=200050;
typedef long long ll;
ll a[N],c[N],len,m,MOD,x,last;
char q[10];
int lowbit(int x){
    return x&-x;
}
ll getMax(int l,int r){
    ll ans=0;
    while(l<=r){
        ans=max(ans,a[r]);
        for(r--;r-lowbit(r)>=l;r-=lowbit(r)){
            ans=max(ans,c[r]);
        }
    }
    return ans;
}
void update(int x){
    while(x<=len){
        c[x]=a[x];
        int lx=lowbit(x);
        for(int i=1;i<lx;i<<=1){
            c[x]=max(c[x],c[x-i]);
        }
        x+=lowbit(x);
    }
}
int main(void){
    scanf("%lld%lld",&m,&MOD);
    len=0;
    last=0;
    while(m--){
        scanf("%s",q);
        if(q[0]=='Q'){
            scanf("%lld",&x);
            last=getMax(len-x+1,len);
            printf("%lld\n",last);
        }else{
            scanf("%lld",&x);
            a[++len]=(x+last)%MOD;
            update(len);
        }
    }
    return 0;
}